#include <typescommon.h>
#include <genrand.h>
#include <pthread.h>

//hash table.
// hash.key通过一个规则得到唯一ID， 我们分配能装下唯一ID的数组即可。
// hashtable。key通过规则不能做到唯一id，我们可以用一个数组来保存hash计算的id，每个id用链表来保存相同id的所有值即可。
// hash会造成空间浪费。二叉树各个方面性能都优秀。

//统计产生数字的个数。
static int saveCount[256];


int main(int argc, char **argv)
{
    srand(time(NULL));
    memset(saveCount, 0, sizeof(saveCount));
    for(int i = 0; i < 1000; i++)
    {
        uint8_t tempkey = rand();
        // hash的key就等与id。
        // 统计一个值生成了几次。
        saveCount[tempkey]++;//用key直接定位是非常快的。O(1)
    }

    for(size_t i = 0; i < ARRAY_LEN(saveCount); i++)
    {
        logdebug("id=%ld,count=%d", i, saveCount[i]);
    }
    return 0;
}


